package own.stu.jobgib.playown;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

import java.io.Serializable;
import java.sql.Timestamp;
import java.util.Date;
import java.util.List;

/**
 * @author WangXiaoLei
 */
public class BasePO  implements Serializable {

    private static final long serialVersionUID = 4126172884475377963L;
    /**
     * 数据库主键
     */
    private Long id;
    /**
     * 是否可用:默认0否;1是
     */
    private Integer isAvailable;
    /**
     * 是否逻辑删除:默认0未删除;1已删除
     */
    @JsonIgnore
    private Long isDeleted;
    /**
     * 版本号:默认0,每次更新+1
     */
    @JsonIgnore
    private Integer versionNo;
    /**
     * 创建人ID
     */
    @JsonIgnore
    private Long createUserid;
    /**
     * 创建人姓名
     */
    private String createUsername;
    /**
     * 创建人IP
     */
    @JsonIgnore
    private String createUserip;
    /**
     * 创建人MAC地址
     */
    @JsonIgnore
    private String createUsermac;
    /**
     * 创建时间-应用操作时间
     */
    private Date createTime;
    /**
     * 创建时间-数据库操作时间
     */
    @JsonIgnore
    private Timestamp createTimeDb;
    /**
     * 服务器IP
     */
    @JsonIgnore
    private String serverIp;
    /**
     * 最后修改人ID
     */
    @JsonIgnore
    private Long updateUserid;
    /**
     * 最后修改人姓名
     */
    private String updateUsername;
    /**
     * 最后修改人IP
     */
    @JsonIgnore
    private String updateUserip;
    /**
     * 最后修改人MAC
     */
    @JsonIgnore
    private String updateUsermac;
    /**
     * 最后修改时间
     */
    private Date updateTime;
    /**
     * 最后修改时间-数据库默认写入时间
     */
    @JsonIgnore
    private Timestamp updateTimeDb;
    /**
     * 客户端程序的版本号
     */
    @JsonIgnore
    private String clientVersionno;
    /**
     * 公司id
     */
    @JsonIgnore
    private Long companyId;
    /**
     * 授权id
     */
    private Long applicationAuthId;

    /**
     * 授权的店铺ids
     */
    private List<Long> authStoreIds;
    /**
     * 授权的授权ids
     */
    private List<Long> authApplicationAuthIds;
    /**
     * 授权的ody商家ids
     */
    private List<Long> authMerchantIds;

    public List<Long> getAuthMerchantIds() {
        return authMerchantIds;
    }

    public void setAuthMerchantIds(List<Long> authMerchantIds) {
        this.authMerchantIds = authMerchantIds;
    }

    public Integer getIsAvailable() {
        return isAvailable;
    }

    public void setIsAvailable(Integer isAvailable) {
        this.isAvailable = isAvailable;
    }

    public Long getIsDeleted() {
        return isDeleted;
    }

    public void setIsDeleted(Long isDeleted) {
        this.isDeleted = isDeleted;
    }

    public Integer getVersionNo() {
        return versionNo;
    }

    public void setVersionNo(Integer versionNo) {
        this.versionNo = versionNo;
    }

    public Long getCreateUserid() {
        return createUserid;
    }

    public void setCreateUserid(Long createUserid) {
        this.createUserid = createUserid;
    }

    public String getCreateUsername() {
        return createUsername;
    }

    public void setCreateUsername(String createUsername) {
        this.createUsername = createUsername;
    }

    public String getCreateUserip() {
        return createUserip;
    }

    public void setCreateUserip(String createUserip) {
        this.createUserip = createUserip;
    }

    public String getCreateUsermac() {
        return createUsermac;
    }

    public void setCreateUsermac(String createUsermac) {
        this.createUsermac = createUsermac;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Timestamp getCreateTimeDb() {
        return createTimeDb;
    }

    public void setCreateTimeDb(Timestamp createTimeDb) {
        this.createTimeDb = createTimeDb;
    }

    public String getServerIp() {
        return serverIp;
    }

    public void setServerIp(String serverIp) {
        this.serverIp = serverIp;
    }

    public Long getUpdateUserid() {
        return updateUserid;
    }

    public void setUpdateUserid(Long updateUserid) {
        this.updateUserid = updateUserid;
    }

    public String getUpdateUsername() {
        return updateUsername;
    }

    public void setUpdateUsername(String updateUsername) {
        this.updateUsername = updateUsername;
    }

    public String getUpdateUserip() {
        return updateUserip;
    }

    public void setUpdateUserip(String updateUserip) {
        this.updateUserip = updateUserip;
    }

    public String getUpdateUsermac() {
        return updateUsermac;
    }

    public void setUpdateUsermac(String updateUsermac) {
        this.updateUsermac = updateUsermac;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public Timestamp getUpdateTimeDb() {
        return updateTimeDb;
    }

    public void setUpdateTimeDb(Timestamp updateTimeDb) {
        this.updateTimeDb = updateTimeDb;
    }

    public String getClientVersionno() {
        return clientVersionno;
    }

    public void setClientVersionno(String clientVersionno) {
        this.clientVersionno = clientVersionno;
    }

    public Long getCompanyId() {
        return companyId;
    }

    public void setCompanyId(Long companyId) {
        this.companyId = companyId;
    }

    public List<Long> getAuthStoreIds() {
        return authStoreIds;
    }

    public void setAuthStoreIds(List<Long> authStoreIds) {
        this.authStoreIds = authStoreIds;
    }

    public List<Long> getAuthApplicationAuthIds() {
        return authApplicationAuthIds;
    }

    public void setAuthApplicationAuthIds(List<Long> authApplicationAuthIds) {
        this.authApplicationAuthIds = authApplicationAuthIds;
    }

    @Override
    public String toString() {
        return "BasePO{" +
                "isAvailable=" + isAvailable +
                ", isDeleted=" + isDeleted +
                ", versionNo=" + versionNo +
                ", createUserid=" + createUserid +
                ", createUsername='" + createUsername + '\'' +
                ", createUserip='" + createUserip + '\'' +
                ", createUsermac='" + createUsermac + '\'' +
                ", createTime=" + createTime +
                ", createTimeDb=" + createTimeDb +
                ", serverIp='" + serverIp + '\'' +
                ", updateUserid=" + updateUserid +
                ", updateUsername='" + updateUsername + '\'' +
                ", updateUserip='" + updateUserip + '\'' +
                ", updateUsermac='" + updateUsermac + '\'' +
                ", updateTime=" + updateTime +
                ", updateTimeDb=" + updateTimeDb +
                ", clientVersionno='" + clientVersionno + '\'' +
                ", companyId=" + companyId +
                '}';
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getApplicationAuthId() {
        return applicationAuthId;
    }

    public void setApplicationAuthId(Long applicationAuthId) {
        this.applicationAuthId = applicationAuthId;
    }
}
